/***********************************************************************************************//**
*\n  @file       bus_gpio.hpp
*\n  @brief      gpio 总线地址操作
*\n  @details
*\n -----------------------------------------------------------------------------------
*\n  文件说明：
*\n 	1. gpio 总线地址操作
*\n
*\n -----------------------------------------------------------------------------------
*\n  版本:  	 修改人:       修改日期:        描述:
*\n  V0.01   罗先能        2021.05.10    创建
*\n
***************************************************************************************************/
#pragma once
#ifndef H_67024E50_4950_43DB_81F7_D0861CFA62EE_
#define H_67024E50_4950_43DB_81F7_D0861CFA62EE_

/**************************************************************************************************
* 头文件
***************************************************************************************************/
#include "bus.hpp"

/**************************************************************************************************
* 宏定义、结构定义
***************************************************************************************************/
#ifdef  __cplusplus

///  spi总线（接口实现）
class TGpioBus : public TBus
{
public:
	virtual ~TGpioBus();
	TGpioBus(const char name[], long physicalAddress, long size=0x1000);


public:
	// virtual int Init()                                           override;
	// virtual int Lock()                                           override;
	// virtual int Unlock()                                         override;
	// virtual int Ioctl(long cmd,     void *pBuf)                  override;
	virtual int Read (long address, void *pBuf, long iCnt)       override;
	virtual int Write(long address, void *pBuf, long iCnt)       override;

public:
//	void* pBaseAddress;      ///< 基地址（虚拟地址）
//	long  mAddressSize;      ///< 地址长度

protected:
//	char mName[32];			 ///< 实例名称
//	pthread_rwlock_t mLock;  ///< 锁
//	int mFd;				 ///< 设备描述符

};
#endif // __cplusplus

/**************************************************************************************************
* 全局变量声明、定义
***************************************************************************************************/


/**************************************************************************************************
* 私有变量声明、定义
***************************************************************************************************/


/**************************************************************************************************
* 私有函数声明、定义
***************************************************************************************************/


/**************************************************************************************************
* 全局函数声明、定义
***************************************************************************************************/
#ifdef  __cplusplus //--------------------------------------------------------------------
extern "C" {
#endif



#ifdef  __cplusplus //--------------------------------------------------------------------
}
#endif
#endif // H_A8B120FF_2E60_42B0_8539_F5990D1CA818_


